package com.example.myone.Util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class PasswordEncryptor {

    // 加密密码
    public static String encryptPassword(String password) {
        try {
            // 创建 MessageDigest 实例并指定使用 SHA-256 哈希算法
            MessageDigest digest = MessageDigest.getInstance("SHA-256");
            // 对密码进行哈希处理
            byte[] hashedBytes = digest.digest(password.getBytes());
            // 将字节数组转换为十六进制字符串
            StringBuilder stringBuilder = new StringBuilder();
            for (byte b : hashedBytes) {
                stringBuilder.append(String.format("%02x", b));
            }
            return stringBuilder.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            // 加密失败，返回空字符串或者抛出异常，根据实际情况处理
            return "";
        }
    }
    // 比对密码
    public static boolean matchPassword(String inputPassword, String storedHashedPassword) {
        // 对用户输入的密码进行哈希处理
        String hashedInputPassword = encryptPassword(inputPassword);
        // 比对用户输入的哈希密码与存储的哈希密码是否相同
        return hashedInputPassword.equals(storedHashedPassword);
    }
}